הבעיה - אנחנו לא יודעים איך לעשות רידיירקט מהכתובת הישנה לחדשה.
כיוון שיש 5000 + כתובות כאלו, אי אפשר לעשות זאת ידנית וחובה ליצור איכשהו רידיירקט דינמי, הלוקח את המספר שבכתובת ועושה הפניית 301 לעמוד עם סיומת HTML .
לדוגמא,
הכתובת הישנה
http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/853/%D7%9E%D7%A9%D7%97%D7%A7/%D7%9E%D7%9C%D7%9A+%D7%94%D7%A0%D7%A7%D7%A0%D7%99%D7%A7%D7%99%D7%95%D7%AA
צריכה להפנות אל
http://games.moomoo.co.il/853.html
וכך הלאה לגבי כל המשחקים.
בנוסף
גם העמודים הישנים מהצורה
www.moomoo.co.il/משחקים/view/id/277
צריכים לעשות רידיירקט לעמוד החדש
http://games.moomoo.co.il/277.html
אני לא רוצה שהכתובות הישנות יעבדו. אני רק רוצה שיקשרו אל המשחק לפי ה ID המתאים. יעשו רידיירקט 301 אליו. יקחו את המספר המופיע בכתובת, ויפנו אל העמוד games.moomoo.co.il/-number-.html
תודה ענקית לעזורים!
עמיחי
מומו הפרה
10 תשובות
אתה יכול לצרף את ה htaccess הקודם שהיה אחראי לפענח את הכתובת? (לוודא שהתאני החדש תואם את הקישורים שהיו)
RewriteRule ^משחקים/view/id/([0-9]*) $1.html [R=301, L]
נראה לי שזה זה.
בזמנו כשעברנו לכתובות בעברית, עשינו רידיירקט מהכתובת המקורית
games.moomoo.co.il/game.php?id=3747
לדבר כזה
http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/3747/%D7%9E%D7%A9%D7%97%D7%A7/%D7%91%D7%95%D7%A2%D7%95%D7%AA+%D7%91%D7%A6%D7%A8%D7%95%D7%A8%D7%95%D7%AA+2
הנה הקוד
#RewriteRule ^([0-9]{1,10})\.html$ /game.php?id=$1&frame=0 [L]
RewriteRule ^([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקי×/view/id/$1 [R=301,L]
#RewriteRule ^f([0-9]{1,10})\.html$ /game.php?id=$1&frame=1 [L]
RewriteRule ^f([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקי×/view/id/$1 [R=301,L]
#RewriteRule ^s([0-9]{1,10})\.html$ /game.php?id=$1&summer=1 [L]
RewriteRule ^s([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקי×/view/id/$1 [R=301,L]
חשוב לציין שהמתכנת עשה זאת לפני שנה והוא לא זמין יותר.
אני רוצה להחזיר אחורה.
להפנות הכל, אל
http://games.moomoo.co.il/3747.html
לקחת את המספר בכתובת ולהפנות לעמוד עם סיומת HTML עם אותו מספר
הוא היה בשרת הישן והוא עבד.
הפעם אני רוצה לעשות הפוך כאילו - להפנות הכל - את שתי הכתובות שבתנאי הקודם
#RewriteRule ^s([0-9]{1,10})\.html$ /game.php?id=$1&summer=1 [L]
RewriteRule ^s([0-9]{1,10})\.html$ http://www.moomoo.co.il/משחקי×/view/id/$1 [R=301,L]
ל http://games.moomoo.co.il/-number-.html
מה עלי לעשות?
הוא מהשרת הקודם והוא עובד.
אבל אני רוצה לעשות הפוך. לקחת את שתי הכתובות של הקוד הקודם (גם המקור וגם היעד)ולהפנות את שתיהן לכתובת החדשה...
חחח מצטער על חוסר ההבנה שלי.
הוספתי אותו ל .htaccess ועדיין....
הכתובות בצורה
http://www.moomoo.co.il/%D7%9E%D7%A9%D7%97%D7%A7%D7%99%D7%9D/view/id/401/%D7%9E%D7%A9%D7%97%D7%A7/%D7%91%D7%90%D7%91%D7%9C+%D7%98%D7%A8%D7%90%D7%91%D7%9C+2
לא עובדות
וגם הצורה
www.moomoo.co.il/משחקים/view/id/277
לא עובדת :\
תודה
הבעיה היית ברווח לפני האות L
הקוד הזה יעבוד:
RewriteRule ^משחקים/view/id/([0-9]+) /$1.html [R=301,L]
הסתדר.
תודה רבה :]